The field relates generally to computerized control of machines, and more particularly to computerized coordination of multiple operations to be performed by components of machines.
Complex machines, such as those found in a silicon wafer manufacturing plant or other industrial plant, often include multiple components whose operations must be precisely orchestrated to produce a product properly. Often, not only must the multiple components of a given machine work in concert, interactions between different machines must be coordinated as well. The components can include valves, motors, heaters, fans, and sensors, to name a few. To properly make a product pursuant to certain specifications set by an engineer, raw materials might undergo a multitude of processes as they transition into an intermediate product and finally a finished product. The processes might involve, for example, heating silicon in a crucible, extracting the silicon from the crucible at a specific rate and temperature to form a crystal, and partitioning the crystal into wafers. Other processes might include vapor deposition and etching of a wafer of silicon. In other industrial plants, similarly complex processes are carried out.
Rather than relying on human operators to individually control each machine used in processes like those described above, a computerized control server which is communicatively coupled to the components of the various machines monitors the status of each machine and issues instructions to the machine components to generate a product from the raw materials. Commonly known control software applications provide one of a plurality of types of recipe structure, controlling process execution according to a given process functionality that is manifest in the program code of the application. Recipes contain parameter values and flags that are editable by the user. When such a recipe is read, the program code reads the recipe parameters and accordingly runs the process within the boundaries of given program functionality.
Such architecture, however, has disadvantages. For example, whenever some code improvement which also requires a change in recipe structure is introduced to the existing program, all old recipes must be updated to the new format. After changing to the new code, all recipes of the old format are obsolete.
This situation presents risks, particularly in high-volume production environments such as silicon wafer production. In cases this may be tolerable, whereby the old capabilities are completely being replaced by better, but different ones. It often may require some form of process re-qualification for all established processes, whether or not all of them actually benefit from the change.
In a typical production environment it would be best, if all processes that don't actually benefit from a code change could keep running with the old code and old recipes, while new processes requiring the change would run with the new code and new recipe structure side by side.
Unfortunately, common control software architecture does not permit such a scenario. Typically there is an either/or situation regarding which code version and which recipe structure is running.
This Background section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.